Ansible ইনভেন্টরি ফাইল হল একটি ফাইল যেখানে আপনি আপনার ম্যানেজড হোস্ট বা সার্ভারের তালিকা রাখেন। এই ফাইলের মাধ্যমে Ansible জানে কোন হোস্টগুলির সাথে যোগাযোগ করতে হবে এবং কোন গ্রুপে কোন হোস্ট আছে। ইনভেন্টরি ফাইলটি সাধারণত /etc/ansible/hosts
এ থাকে, কিন্তু আপনি চাইলে প্রোজেক্ট ডিরেক্টরিতে বা কাস্টম লোকেশনে রাখতে পারেন।
Ansible ইনভেন্টরি ফাইল সাধারণত দুটি ফরম্যাটে লেখা হয়:
INI ফরম্যাটে ইনভেন্টরি ফাইলের লেখার নিয়ম সহজ এবং এটি সাধারণত হোস্ট এবং গ্রুপের তালিকা আকারে লেখা হয়। নিচে একটি উদাহরণ দেওয়া হলো:
# হোস্টের তালিকা
192.168.1.10
webserver.example.com
# গ্রুপ দিয়ে হোস্ট সংগঠিত করা
[webservers]
web1.example.com
web2.example.com
[databases]
db1.example.com
db2.example.com
# গ্রুপের ভেতরে ভ্যারিয়েবল
[webservers:vars]
ansible_user=ansible_user
ansible_ssh_private_key_file=~/.ssh/id_rsa
[]
এর ভেতরে গ্রুপের নাম দিলে এবং তার নিচে হোস্টগুলির নাম দিলে Ansible সেই হোস্টগুলিকে একসাথে সেই গ্রুপ হিসেবে ধরবে।[group_name:vars]
দিয়ে আপনি গ্রুপের জন্য নির্দিষ্ট ভ্যারিয়েবল সেট করতে পারেন, যেমন ansible_user
বা ansible_ssh_private_key_file
।YAML ফরম্যাট আরো আধুনিক এবং ফ্লেক্সিবল। এটি বড় এবং জটিল ইনভেন্টরি ব্যবস্থাপনার জন্য উপযোগী। নিচে YAML ইনভেন্টরি ফাইলের একটি উদাহরণ দেওয়া হলো:
all:
children:
webservers:
hosts:
web1.example.com:
ansible_user: ansible_user
web2.example.com:
ansible_user: ansible_user
databases:
hosts:
db1.example.com:
ansible_user: db_user
db2.example.com:
ansible_user: db_user
vars:
ansible_ssh_private_key_file: ~/.ssh/id_rsa
webservers
এবং databases
।Ansible ইনভেন্টরি ফাইলটি ব্যবহার করে আপনি যেকোনো কমান্ড বা প্লেবুক রান করতে পারেন। উদাহরণস্বরূপ:
ansible all -i ./inventory -m ping
-i ./inventory
: আপনার কাস্টম ইনভেন্টরি ফাইলটি নির্দেশ করে।-m ping
: ping
মডিউল ব্যবহার করে সমস্ত হোস্ট চেক করা হয়।যদি আপনার হোস্টের সংখ্যা অনেক বেশি হয় এবং তাদের আইপি বা হোস্টনেমগুলো পরিবর্তনশীল হয়, তাহলে Ansible ডায়নামিক ইনভেন্টরি সমর্থন করে। ডায়নামিক ইনভেন্টরি ফাইল একটি স্ক্রিপ্ট বা প্লাগইন আকারে লেখা হয় যা রান টাইমে হোস্টের তথ্য জেনারেট করে।
এভাবেই আপনি Ansible ইনভেন্টরি ফাইল তৈরি এবং সেটআপ করে আপনার হোস্টগুলো সহজেই ম্যানেজ করতে পারবেন।
আরও দেখুন...